package com.qm.console.dao.mapper;

import com.qm.console.dao.model.UserMessageDO;
import com.qm.console.pubdef.dto.user.UserMessageQueryDTO;

import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMessageDOMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(UserMessageDO record);

    int insertSelective(UserMessageDO record);

    UserMessageDO selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(UserMessageDO record);

    int updateByPrimaryKey(UserMessageDO record);

    List<UserMessageDO> listByIds(@Param("ids") List<Integer> ids);

    Integer count(UserMessageQueryDTO queryDTO);

    List<UserMessageDO> list(UserMessageQueryDTO queryDTO);

    void setPushStateInQueue(@Param("ids") List<Integer> ids);

    UserMessageDO nextMessage();

    void setPushResult(@Param("id") Integer id, @Param("state") Integer state);
}